﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CuaHangMayTinh.BusinessEntities
{
    /// <summary>
    /// tạo lớp BanHangEntity
    /// </summary>
    public class BanHangEntity
    {
        /// <summary>
        /// khai báo thuộc tính mã bán hàng
        /// </summary>
        private int _maBanHang;

        /// <summary>
        /// đóng gói thuộc tính mã bán hàng
        /// </summary>
        public int MaBanHang
        {
            get { return _maBanHang; }
            set { _maBanHang = value; }
        }

        /// <summary>
        /// khai báo thuộc tính mã hoá đơn bán hàng
        /// </summary>
        private string _maHoaDonBH;

        /// <summary>
        /// đóng gói thuộc tính mã hoá đơn bán hàng
        /// </summary>
        public string MaHoaDonBH
        {
            get { return _maHoaDonBH; }
            set { _maHoaDonBH = value; }
        }

        /// <summary>
        /// khai báo thuộc tính mã nhân viên
        /// </summary>
        private int _maNV;

        /// <summary>
        /// đóng gói thuộc tính mã nhân viên
        /// </summary>
        public int MaNV
        {
            get { return _maNV; }
            set { _maNV = value; }
        }

        /// <summary>
        /// khai báo thuộc tính mã khách hàng
        /// </summary>
        private int _maKH;

        /// <summary>
        /// đóng gói thuộc tính mã khách hàng
        /// </summary>
        public int MaKH
        {
            get { return _maKH; }
            set { _maKH = value; }
        }

        /// <summary>
        /// khai báo thuộc tính ngày lập
        /// </summary>
        private DateTime _ngayLap;

        /// <summary>
        /// đóng gói thuộc tính ngày lập
        /// </summary>
        public DateTime NgayLap
        {
            get { return _ngayLap; }
            set { _ngayLap = value; }
        }

        private float _vat;

        public float VAT
        {
            get { return _vat; }
            set { _vat = value; }
        }

        /// <summary>
        /// khai báo thuộc tính lợi nhuận
        /// </summary>
        private float _loiNhuan;

        /// <summary>
        /// đóng gói thuộc tính lợi nhuận
        /// </summary>
        public float LoiNhuan
        {
            get { return _loiNhuan; }
            set { _loiNhuan = value; }
        }

        /// <summary>
        /// khai báo thuộc tính tổng tiền
        /// </summary>
        private decimal _tongTien;

        //đóng gói thuộc tính tổng tiền
        public decimal TongTien
        {
            get { return _tongTien; }
            set { _tongTien = value; }
        }

        /// <summary>
        /// khai báo thuộc tính ghi chú
        /// </summary>
        private string _ghiChu;

        /// <summary>
        /// đóng gói thuộc tính ghi chú
        /// </summary>
        public string GhiChu
        {
            get { return _ghiChu; }
            set { _ghiChu = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public List<ModelMatHangEntity> ListModel;

        /// <summary>
        /// 
        /// </summary>
        public List<ChiTietBanHangEntity> ListChiTiet;

        /// <summary>
        /// khai báo phương thức khởi tạo không có tham số
        /// </summary>
        public BanHangEntity()
        {
            ListModel = new List<ModelMatHangEntity>();
            ListChiTiet = new List<ChiTietBanHangEntity>();
        }

        /// <summary>
        /// phương thức tạo lập cho phương thức thêm
        /// </summary>
        /// <param name="maHoaDonBH"></param>
        /// <param name="manv"></param>
        /// <param name="makh"></param>
        /// <param name="ngayLap"></param>
        /// <param name="loinhuan"></param>
        /// <param name="tongtien"></param>
        /// <param name="ghichu"></param>
        public BanHangEntity(string maHoaDonBH, int manv, int makh, DateTime ngayLap, float vat,
            float loinhuan, decimal tongtien, string ghichu)
            : this()
        {
            _maBanHang = 0;
            _maHoaDonBH = maHoaDonBH;
            _maNV = manv;
            _maKH = makh;
            _ngayLap = ngayLap;
            _loiNhuan = loinhuan;
            _tongTien = tongtien;
            _ghiChu = ghichu;
        }

        /// <summary>
        /// phương thức tạo lập cho phương thức sửa
        /// </summary>
        /// <param name="maBanHang"></param>
        /// <param name="maHoaDonBH"></param>
        /// <param name="manv"></param>
        /// <param name="makh"></param>
        /// <param name="ngayLap"></param>
        /// <param name="loinhuan"></param>
        /// <param name="tongtien"></param>
        /// <param name="ghichu"></param>
        public BanHangEntity(int maBanHang, string maHoaDonBH, int manv, int makh, DateTime ngayLap, float vat,
            float loinhuan, decimal tongtien, string ghichu)
            : this()
        {
            _maBanHang = maBanHang;
            _maHoaDonBH = maHoaDonBH;
            _maNV = manv;
            _maKH = makh;
            _ngayLap = ngayLap;
            _loiNhuan = loinhuan;
            _tongTien = tongtien;
            _ghiChu = ghichu;
        }

    }
}
